library(rjson)
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 3.3.2
## Loading tidyverse: ggplot2
## Loading tidyverse: tibble
## Loading tidyverse: tidyr
## Loading tidyverse: readr
## Loading tidyverse: purrr
## Loading tidyverse: dplyr
## Warning: package 'ggplot2' was built under R version 3.3.3
## Warning: package 'tidyr' was built under R version 3.3.3
## Warning: package 'readr' was built under R version 3.3.2
## Warning: package 'purrr' was built under R version 3.3.2
## Conflicts with tidy packages ----------------------------------------------
## filter(): dplyr, stats
## lag(): dplyr, stats
library(RCurl)
## Loading required package: bitops
##
## Attaching package: 'RCurl'
## The following object is masked from 'package:tidyr':
##
## complete
library(RSocrata)
## Warning: package 'RSocrata' was built under R version 3.3.3
library(ggrepel)
## Warning: package 'ggrepel' was built under R version 3.3.3
creds = fromJSON(file = "credentials.json")
url = "https://data.colorado.gov/resource/yifv-9mje.json"
#url = "https://data.colorado.gov/resource/693w-2ir9.json"
data = read.socrata(url,creds$token)
library(ggmap)
## Warning: package 'ggmap' was built under R version 3.3.2
df = data %>% na.omit() %>% filter(subregion != 'Metro Average')
co.locations = df %>% select(subregion) %>% unique()
co.locations = paste(co.locations$subregion,', CO',sep='')
#lonLat = geocode(co.locations)
#lonLat$subregion = sub(", CO", '',co.locations)
#write.csv(lonLat,'subregion_lon_lat.csv',row.names=FALSE)
lonLat = read.csv('subregion_lon_lat.csv')
df$averagerent = round(as.numeric(df$averagerent),0)
#df$year = as.factor(df$year)
mergedDF = merge(df,lonLat,by='subregion')
annualDF = mergedDF %>%
filter(apartmenttype == 'All') %>%
group_by(subregion,lon,lat,year) %>%
summarise(rent = round(mean(averagerent)),0) %>%
arrange(year) %>% filter(year >= 2015)
colo_map = qmap("Colorado, United States",zoom = 7, source = "google",legend='topleft')
## Map from URL : http://maps.googleapis.com/maps/api/staticmap?center=Colorado,+United+States&zoom=7&size=640x640&scale=2&maptype=terrain&language=en-EN&sensor=false
## Information from URL : http://maps.googleapis.com/maps/api/geocode/json?address=Colorado,%20United%20States&sensor=false
## Warning: `panel.margin` is deprecated. Please use `panel.spacing` property
## instead
#colo_map = qmap("Colorado, United States",zoom = 7, source='stamen', maptype='toner',legend='topleft')
colo_map + geom_point(aes(x=lon, y=lat, col=rent),
data = annualDF,
alpha = 0.9,
size=9) + scale_color_gradient(low="green", high="red") +
geom_label_repel(data=annualDF,aes(label=paste(subregion,"\n","$",rent)),size=2.5)

annualDF = mergedDF %>%
group_by(apartmenttype,subregion,lon,lat,year) %>%
summarise(rent = round(mean(averagerent)),0) %>%
arrange(year) %>% filter(year >= 2015)
#colo_map = qmap("Colorado, United States",zoom = 7, source = "google",legend='bottom')
colo_map = qmap("Colorado, United States",zoom = 7, source='stamen', maptype='toner',legend='bottom')
## Map from URL : http://maps.googleapis.com/maps/api/staticmap?center=Colorado,+United+States&zoom=7&size=640x640&scale=2&maptype=terrain&sensor=false
## Information from URL : http://maps.googleapis.com/maps/api/geocode/json?address=Colorado,%20United%20States&sensor=false
## Map from URL : http://tile.stamen.com/toner/7/25/47.png
## Map from URL : http://tile.stamen.com/toner/7/26/47.png
## Map from URL : http://tile.stamen.com/toner/7/27/47.png
## Map from URL : http://tile.stamen.com/toner/7/25/48.png
## Map from URL : http://tile.stamen.com/toner/7/26/48.png
## Map from URL : http://tile.stamen.com/toner/7/27/48.png
## Map from URL : http://tile.stamen.com/toner/7/25/49.png
## Map from URL : http://tile.stamen.com/toner/7/26/49.png
## Map from URL : http://tile.stamen.com/toner/7/27/49.png
## Warning: `panel.margin` is deprecated. Please use `panel.spacing` property
## instead
colo_map + geom_point(aes(x=lon, y=lat, col=rent),
data = annualDF,
alpha = 0.9,
size=5) + scale_color_gradient(low="green", high="red") +
facet_wrap(~apartmenttype) +
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
strip.background = element_blank(),
panel.border=element_rect(fill=NA,size=2))

library(trelliscopejs)
library(rbokeh)
## Warning: package 'rbokeh' was built under R version 3.3.3
noQtrDF = df %>%
group_by(apartmenttype,subregion,year) %>%
summarise(averagerent = round(mean(averagerent),0))
noQtrDF$year = as.numeric(noQtrDF$year)
noQtrDF$apartmenttype = as.factor(noQtrDF$apartmenttype)
noQtrDF$subregion = as.factor(noQtrDF$subregion)
qplot(data=noQtrDF, x = year, y = averagerent,size=2) +
theme_bw() +
facet_trelliscope(~apartmenttype + subregion,nrow=2,ncol=2,self_contained=TRUE)
# by_subregion = noQtrDF %>%
# group_by(subregion) %>%
# nest()
#
# by_subregion = by_subregion %>% mutate(
# panel = map_plot(data,
# ~ figure(xlim = c(2000, 2015), ylim = c(300,2000)) %>%
# ly_points(year, averagerent, data = .x, hover = .x)
# ))
#
# by_subregion %>%
# trelliscope("Rent in Colorado",nrow=2,ncol=1,self_contained=TRUE)